Application programs written for ‘pervasive’ computing environments may be used by a number of different types of computing devices. The different computing devices may use different types of input devices such as a microphone (or other speech input), a mouse, a keypad or a keyboard. Not all devices have the same capabilities or are usable in the same manner. For example, a microphone and a mouse do not have keys, while a keypad does not have a “mute” feature. Even when similar capabilities are available, they may be reduced. For example, a keypad on a telephone does not directly have alphabetic keys.
Shortcuts are abbreviated input sequences that are defined to perform the same action as an application interaction sequence (typically a longer input sequence). If an original, formal input sequence is long or complex, a shortcut can provide an efficient and convenient alternative. Shortcuts may be implemented using application elements such as macros, voice prompts, icons or hot keys (combinations of keys of a computer keyboard that can be pressed together to efficiently initiate an operation). A shortcut input sequence via a keyboard may begin with a designated input such as the Ctrl key, Alt key or a function key (F1 to F12). Shortcuts have been found to be very useful in conventional data processing applications.
For example, the Ctrl-S (“Control” followed by “S”) sequence can be used to save a document in many application programs written for a Windows™ operating system. In Web applications, where shortcuts can be macros for navigation sequences across multiple pages, the sequence Alt-O may be used for “login using default account information in wallet and order products already in the shopping cart”.
However, shortcuts are typically defined with respect to a single input device and are usable only for that type of device. Therefore, if an application program can receive inputs from multiple devices (such as a mouse, keyboard and voice input via a microphone), the application developer must decide whether or not to implement shortcut support for each device type. Faced with the task of providing multiple device-type-specific shortcuts to enable each input device to initiate the same application feature, such as saving a file, developers may decide to omit shortcut support for many device types.
U.S. Pat. No. 6,091,409 describes Internet ‘shortcut objects’ encapsulating location information (such as a URL) and represented by Windows™ desktop icons. The objects can be opened by a number of different user operations that activate the Web Browser—such as positioning the mouse cursor over the icon and pressing mouse buttons or via menu selection (File and then Open). However, U.S. Pat. No. 6,091,409 and related patent U.S. Pat. No. 5,877,765 do not disclose generic or device-independent shortcuts.
U.S. Pat. No. 5,864,605 describes voice menu optimization using ‘shortcuts’. A shortcut message in a voice menu prompts a caller to select a shortcut button that initiates an action. The shortcut button corresponds to a sequence of a plurality of dialling buttons. U.S. Pat. No. 5,864,605 does not disclose generic or device-independent shortcuts.
When developing application programs that need to accept input from a plurality of input device types (e.g. for pervasive computing environments), a generic application model and platform-independent language may be used, such as XForms. XForms is described in the W3C's ‘XForms 1.0’ Recommendation of 14 Oct. 2003 (at the time of writing, this specification is available at Website URL: ‘www.w3.org/TR/2003/REC-xforms-20031014/’). An XForms application includes three separate elements: a device-independent XML form definition comprising a set of form controls describing what the form does; a separate interface description section describing how the form is to be presented; and XML instance data. The generic model can be translated into a number of different versions of the application, which each take account of the capabilities of a particular input device type. For example, a first application version may be provided for invocation by a Web Browser supporting XHTML, and a second version for invocation from a WML-compliant mobile telephone. A goal of XForms is to support Browsers on different types of device (hand-held devices, televisions and desktop computers). However, XForms does not provide support for reusable shortcuts across devices.